package com.iwomy.secureplat.platform.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 设备信息表
 *
 * @author pig
 * @date 2023-11-21 15:14:16
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(description = "出库记录")
public class BasicInventoryListVO extends Model<BasicInventoryListVO> {


	/**
	 * ID
	 */
	@TableId(type = IdType.ASSIGN_ID)
	@Schema(description="ID")
	private Long id;

	/**
	 * 设备id
	 */
	@Schema(description="设备id")
	private Long deviceId;

	/**
	 * IMEI
	 */
	@Schema(description = "IMEI")
	private String imei;

	/**
	 * 设备类型
	 */
	@Schema(description="设备类型")
	private String deviceType;

	/**
	 * 设备类型
	 */
	@Schema(description="设备类型")
	private String deviceTypeName;

	/**
	 * 设备型号
	 */
	@Schema(description = "设备型号")
	private String deviceModelName;

	/**
	 * 出库单号
	 */
	@Schema(description="出库单号")
	private String outInventoryNumber;

	/**
	 * 出库单位
	 */
	@Schema(description="出库单位")
	private String deptName;

	/**
	 * 客户单位
	 */
	@Schema(description="客户单位")
	private String customerDeptName;

	/**
	 * 出库单位
	 */
	@Schema(description="出库单位")
	private Long deptId;

	/**
	 * 客户单位
	 */
	@Schema(description="客户单位")
	private Long customerDeptId;

	/**
	 * 设备过户单位id
	 */
	@Schema(description="设备过户单位id")
	private Long transferDeptId;

	/**
	 * 设备数
	 */
	@Schema(description="设备数")
	private Integer deviceSum;


	/**
	 * 出库模式 10默认出库；20平级出库
	 */
	@Schema(description="出库模式 10默认出库；20平级出库")
	private Integer outInventoryType;

	/**
	 * 短信
	 */
	@Schema(description="短信")
	private Integer smsNum;

	/**
	 * 语音
	 */
	@Schema(description="语音")
	private Integer ttsNum;

	/**
	 * 平台年限
	 */
	@Schema(description="平台年限")
	private Integer platformYears;


	/**
	 * 出库时间
	 */
	@Schema(description="出库时间")
	private LocalDateTime createTime;

	/**
	 * 设备列表
	 */
	@Schema(description="设备列表")
	private List<DeviceInventoryListVO> basicDevice;


	/**
	 * 配置方式(10配送；20代付)
	 */
	@Schema(description="配置方式(10配送；20代付)")
	private Integer deliveryMethod;

	/**
	 * 平台到期时间
	 */
	@Schema(description="平台到期时间")
	private LocalDateTime platformExpireDate;


	/**
	 * 短信剩余数量，无限制为 999999
	 */
	@Schema(description="短信剩余数量，无限制为 999999")
	private Integer smsRemainNum;

	/**
	 * 语音剩余数量，无限制为 999999
	 */
	@Schema(description="语音剩余数量，无限制为 999999")
	private Integer ttsRemainNum;


	/**
	 * 代付到期时间
	 */
	@Schema(description="代付到期时间")
	private LocalDateTime expirationDate;


	/**
	 * 设备注册时间
	 */
	@Schema(description="设备注册时间")
	private LocalDateTime deviceCreateTime;

	/**
	 * 启用时间
	 */
	@Schema(description="设备启用时间")
	private LocalDateTime deviceEnableTime;

}